package com.mh.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mh.dto.R;
import com.mh.dto.vo.CreateGroupVo;
import com.mh.dto.vo.GroupIntoVo;
import com.mh.pojo.GroupInfo;

/**
 * 群组信息表(GroupInfo)表服务接口
 *
 * @author zmh
 * @since 2024-09-02 17:22:04
 */
public interface GroupInfoService extends IService<GroupInfo> {

    /**
     * 分页查询
     *
     * @param page 查询页数
     * @param size 一页显示条数
     * @return ·
     */
    R<Page<GroupInfo>> getAllByPage(int page, int size);

    /**
     * 创建群组
     * @param createGroupVo VO对象：传入群组名称和群组所属用户ID
     * @return `
     */
    R<String> createGroup(CreateGroupVo createGroupVo);

    /**
     * 根据群号搜搜群组
     * @param groupNumber 群号
     * @return ·
     */
    R<GroupInfo> getGroupInfoByGroupNumber(String groupNumber);

    /**
     * 检查群组的创建者（群主）是否为传入用户ID
     * @param groupId 群组ID
     * @param userId 用户ID
     * @return `
     */
    R<Boolean> checkGroupOwner(String groupId, String userId);

}

